package com.liuqi.entity;

import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@TableName(value = "sys_user")
@ApiModel(value = "User对象", description = "") //使用swagger时
public class User {
    @ApiModelProperty("id")//此注解可以对我们的返回值提供文档说明
    @Alias("id")//设置别名
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("用户名")
    @Alias("用户名")
    private String username;

    @JsonIgnore//隐藏密码
    @ApiModelProperty("密码")
    @Alias("密码")
    private String password;

    @ApiModelProperty("昵称")
    @Alias("昵称")
    private String nickname;

    @ApiModelProperty("邮箱")
    @Alias("邮箱")
    private String email;

    @ApiModelProperty("电话")
    @Alias("电话")
    private String phone;

    @ApiModelProperty("地址")
    @Alias("地址")
    private String address;

    @ApiModelProperty("创建时间")
    @Alias("创建时间")
    private Date createTime;//使用的是时间戳：CURRENT_TIMESTAMP

    @ApiModelProperty("头像")
    @Alias("头像")
    @TableField(value = "avatar_url")//指定数据库的字段名称
    private String avatarUrl;

    @ApiModelProperty("角色")
    @Alias("角色")
    private String role;
}
